package com.vq3.digitalizationsoftwareintegrates.Service.User;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vq3.digitalizationsoftwareintegrates.Entity.User.*;
import com.vq3.digitalizationsoftwareintegrates.Entity.UserManageCenter.UserManageCenterEntity;
import com.vq3.digitalizationsoftwareintegrates.Entity.UserManageCenter.UserManageCenterEntity_perEntity;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;

public interface UserFusionService {

    Group_TBEntity calculationGroupType(Integer groupID);

    List<Group_TBEntity> findAllGroupType();

    IPage<UserEntity> getAllUserData(int page);

    List<DeleteStatusEntity> getUserDeleteStatus();

    boolean setUserDeleteStatus(String uname,String userDeleteStatusValue);

    boolean setUserGroup(String uname, Integer group);

    Long uidFindURoleCount(Integer uid);

    List<User_RoleEntity> uidFindURole(Integer uid);

    List<User_RoleEntity> uidFindURole(Integer uid,int page);

    URole_TBEntity uRidFindUR(Integer uroleId);

    IPage<URole_TBEntity> findAllUserRole(int page, int i);

    List<URole_TBEntity> findAllUserRole();


    boolean allocationRole(LinkedHashMap<Integer, Integer> hashMap, Integer uid);

    List<UserManageCenterEntity> findUserManageCenterSideBar(List<User_RoleEntity> user_roleEntities);

    IPage<URole_TBEntity> getAllRole(int page);

    Long uRoleIdFindPermissionId(Integer uRoleId);

    Long uRoleIdFindUserId(Integer uRoleId);

    URole_TBEntity roleFindRid(String role);

    List<User_RoleEntity> ridFindURList(URole_TBEntity rid, int page);

    IPage<Permission_TBEntity> findAllPermission(int page);

    List<Urole_PermissionEntity> uRidFindURPermission(Integer uroleId);

    boolean setRoleDeleteUser(Integer uid, Integer uroleId);

    Permission_TBEntity permissionFindpermissionId(String permission);

    void setDeleteRolePermissionBtn(Integer permissionId, List<String> arr, List<String> authArr);

    Group_TBEntity groupIdFindGroup(Integer groupId);

    Permission_TBEntity permissionIdFindpermission(Integer upPermissionId);

    List<Urole_PermissionEntity> permissionIdFindURoleId(Integer permissionId);

    List<Permission_TBEntity> uidFindPermissionTb(Integer uid);

    List<UserManageCenterEntity_perEntity> perFindUMId(Permission_TBEntity permission_tbEntity);

    List<UserManageCenterEntity> umidFindUMSideBar(Set<Integer> um_idS);
}
